package com.witmore.skyline.web.service.dto;

import com.witmore.skyline.web.service.third.yjx.dto.CloudmDeviceDTO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 设备API调用结果封装类
 * 用于并发处理中的结果传递
 * 
 * @author 豆子高
 * @date 2025/10/23
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class DeviceApiResult {
    
    /**
     * 云机械设备详情数据
     */
    private CloudmDeviceDTO deviceDTO;
    
    /**
     * 地理编码解析后的地址信息
     */
    private String address;
    
    /**
     * API调用是否成功
     */
    private boolean success = true;
    
    /**
     * 错误信息（如果调用失败）
     */
    private String errorMessage;
    
    /**
     * 创建成功结果
     */
    public static DeviceApiResult success(CloudmDeviceDTO deviceDTO, String address) {
        return new DeviceApiResult(deviceDTO, address, true, null);
    }
    
    /**
     * 创建失败结果
     */
    public static DeviceApiResult failure(String errorMessage) {
        return new DeviceApiResult(null, null, false, errorMessage);
    }
}
